package org.onejava.core.tools;

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

public class ValuesTool {
	@SuppressWarnings("rawtypes")
	public static Map<String,Object> getValuesMap(Map<String, String[]> map){
		Map<String,Object> contextMap = new HashMap<String,Object>();
		for (Entry<String, String[]> entry : map.entrySet()) { 
			
        	String[] keyPojos = entry.getKey().split("\\.");
        	if(keyPojos.length==2){
        		Object pojo = contextMap.get(keyPojos[0]);
        		if(null==pojo){
        			Map<String,String> pojoMap = new HashMap<String,String>();
        			String value =entry.getValue()[0];
                	pojoMap.put(keyPojos[1], value);
                	contextMap.put(keyPojos[0], pojoMap);
        		}else{
        			String value =entry.getValue()[0];
        			Map pojoMap2 = (Map) pojo;
                	pojoMap2.put(keyPojos[1], value);
        		}
        	}else{
        		if(entry.getValue().length>1){
                	contextMap.put(entry.getKey(), entry.getValue()) ;
                }else{
                	String value =entry.getValue()[0];
                	contextMap.put(entry.getKey(), value);
                }
        	}
		}
		return contextMap;
	}
}
